package com.css.crm.dao;

import java.util.List;

import com.css.crm.vo.CustomerEmailVo;

/**
 * Interface for DAO on table VP_CUST_EMAIL
 * 
 * @author AIS
 */
public interface CustomerEmailDao extends BaseDao {

	/**
	 * Get all customer email record by customer id
	 * 
	 * @param custId
	 *            Customer id to specific record to be retrieved
	 * @return List of customer email record(s)
	 */
	List<CustomerEmailVo> getCustomerEmailByCustId(String custId);

	/**
	 * Create customer email record
	 * 
	 * @param customerEmail
	 *            CustomerEmailVo object
	 * @return Row count affected
	 */
	int insertCustomerEmail(CustomerEmailVo customerEmail);

	/**
	 * Update customer email record
	 * 
	 * @param customerEmail
	 *            Updated CustomerEmailVo object
	 * @return Row count affected
	 */
	int updateCustomerEmailByPK(CustomerEmailVo customerEmail);

	/**
	 * Delete specific customer email record
	 * 
	 * @param customerEmail
	 *            Specific CustomerEmailVo to be deleted
	 * @return Row count affected
	 */
	int deleteCustomerEmailByPK(Long custEmailId);

	/**
	 * Delete customer email record by customer id
	 * 
	 * @param custId
	 *            Customer id to specific record(s) to be deleted
	 * @return Row count affected
	 */
	int deleteCustomerEmailByCustId(String CustId);
}
